Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour French Open - Paris U.S. Open - New York Rennes Challenger Cleveland Challenger Australian Open - Melbourne Tiriac Open - Bucharest Chisinau Challenger France F19 Romania F17 France F12 Armenia F1 Georgia F2 Germany F13 France F12 USA F22 France F2 France F3 USA F6 Romania F1 Romania F5 Romania F6 Romania F7 Romania F11 Romania F12 Romania F13 Romania F14 Romania F15 Germany F15 Germany F17 France F13 Germany F18 Germany F19 France F15 France F17 France F20 Dominican Republic F4 Dominican Republic F5 France F1 France F2 France F4 Egypt F4 Egypt F6 Romania F1 Romania F2 Romania F3 Romania F5 France F8 Germany F6 France F9 Germany F7 France F10 Germany F8 France F12 Romania F11 Germany F13 Belgium F2 Belgium F3 Germany F17 France F13 Turkey F9 France F18 France F19 France F20 Senegal F1 Senegal F2 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F1 France F2 France F4 France F5 Spain F11 Spain F12 France F7 Bulgaria F3 Romania F2 Romania F3 Romania F4 France F8 France F10 France F11 France F12 Germany F9 Spain F27 Romania F9 Romania F10 Spain F29 Belarus F1 Belgium F2 Belarus F2 Germany F13 France F13 Turkey F9 France F17 Turkey F10 France F18 Turkey F11 Belarus F4 Spain F14 Great Britain F1 Great Britain F2 France F2 Turkey F6 Turkey F7 France F4 Turkey F8 France F5 Turkey F10 Turkey F11 Turkey F12 France F6 Turkey F13 Italy F8 Italy F10 Italy F11 France F1 Romania F2 Germany F5 France F10 Germany F7 Romania F9 Turkey F6 Turkey F7 Turkey F8 France F4 France F5 Turkey F12 Turkey F15 Turkey F16 Romania F1 Romania F3 Turkey F7 Turkey F8 France F4 Turkey F9 Turkey F15 Romania F3 China F1 China F2 Romania F3 Romania F16 Ukraine F3 Germany F16 France F15 France F20 Rodez M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez USA F25 M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers Romania F10 M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25 Toulouse M25 Vale do Lobo M25 Toulouse-Balma M25 Vic Germany F8 M25 Montauban Germany F14 France F14 France F15 France F19 M25 Roehampton M25 Porto M15 Poitiers M15 Madrid M25 Reus M15 Monastir M25 Monastir M15 Monastir Open D'Orleans - Orleans M15 Poitiers M15 Valencia M15 Gijon M25 Monastir M15 Monastir Cherbourg Challenger Mamaia Challenger - Constanta M25 Angers M25+H Rodez M15 Manacor M15 Creteil Bordeaux Challenger Challenger DCNS de Cherbourg - Cherbourg Quimper Challenger Cherbourg Challenger Monza Challenger Marburg Challenger Pozoblanco Challenger Recanati Challenger Trani Challenger Samarkand Challenger Astana Challenger St. Remy Challenger Szczecin Challenger Istanbul Challenger Mons Challenger Rennes Challenger Orleans Challenger Helsinki Challenger Heilbronn Challenger Cherbourg Challenger Sarajevo Challenger Bath Challenger Karshi Challenger Tunis Challenger Scheveningen Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Lermontov Challenger Rennes Challenger Tunis Challenger Karshi Challenger Bordeaux Challenger M15 Monastir Samarkand Challenger Nottingham Challenger Arad Challenger Kosice Challenger Timisoara Challenger Scheveningen Challenger Poznan Challenger Oberstaufen Challenger Salzburg Challenger St. Remy Challenger Petange Challenger Petange Challenger Orleans Challenger Fergana Challenger Rennes Challenger Helsinki Challenger Chennai Challenger New Delhi Challenger Cherbourg Challenger Le Gosier Challenger Mersin Challenger Bordeaux Challenger Timisoara Challenger - Timisoara Orleans Challenger Sibiu Challenger Mons Challenger Tashkent Challenger Rennes Challenger Geneva Challenger New Delhi Challenger Cherbourg Challenger Quimper Challenger Raanana Challenger Heilbronn Challenger Moscow Challenger Braunschweig Challenger Poznan Challenger Liberec Challenger Prague Challenger Manerbio Challenger Como Challenger Orleans Challenger Mons Challenger Dallas Challenger Cherbourg Challenger Kazan Challenger Rome Challenger Fergana Challenger Manerbio Challenger Como Challenger Noumea Challenger Surbiton Challenger Caltanissetta Challenger Genova Challenger Shenzhen Challenger Alicante Challenger Aix En Provence Challenger Poznan Challenger Mersin Challenger Seoul Challenger Orleans Challenger Vicenza Challenger Istanbul 2 Challenger Rome 1 Challenger Vicenza Challenger Chicago Challenger Oeiras 1 Challenger Nottingham Challenger Recanati Challenger M15 Bressuire M25 Esch/Alzette Wroclaw Challenger Orleans Challenger Szczecin Challenger Eckental Challenger Meerbusch Challenger Mouilleron-Le-Captif Challenger Heilbronn Challenger Irving Challenger Kolkata Challenger Guangzhou Challenger Bordeaux Challenger M25 Monastir Heilbronn Challenger Rome Challenger Aix En Provence Challenger Braunschweig Challenger Recanati Challenger St. Remy Challenger Bordeaux Challenger Trnava Challenger Ningboo Challenger Ortisei Challenger M25 Villeneuve-Loubet Mouilleron-Le-Captif Challenger Prague Challenger Lyon Challenger M15 Poitiers Helsinki Challenger Roanne Challenger Burnie Challenger Launceston Challenger Le Gosier Challenger Seville Challenger Lugano Challenger Hamburg Challenger Bordeaux Challenger Guangzhou Challenger M25 Toulouse-Balma Fergana Challenger Canberra Challenger Cordenons Challenger M15 Azay-le-Rideau Valencia Challenger Istanbul Challenger Tashkent Challenger Braunschweig Challenger M25 Vic M25 Mataro Como Challenger Karshi Challenger Samarkand Challenger Furth Challenger Braunschweig Challenger San Benedetto Challenger Segovia Challenger M25+H Ajaccio Genova Challenger Segovia Challenger Szczecin Challenger M25 Porto Punta Del Este Challenger Porto Challenger Eckental Challenger Mauthausen Challenger Brasov Challenger Forli 6 Challenger Rennes Challenger Cherbourg Challenger Cary Challenger M25+H Bagneres-de-Bigorre Trnava Challenger St. Brieuc Challenger Prostejov Challenger Busan Challenger Perugia Challenger Oeiras 4 Challenger Blois Challenger Karlsruhe Challenger Ortisei Challenger Suzhou Challenger Pozoblanco Challenger Noumea Challenger Koblenz Challenger Rennes Challenger M15 Monastir Cherbourg Challenger Mouilleron-Le-Captif Challenger Mersin Challenger Lille Challenger St. Brieuc Challenger Porto Challenger Tunis Challenger Pozoblanco Challenger Cassis Challenger Prostejov Challenger Seoul Challenger Lyon Challenger Ostrava Challenger Perugia Challenger Bordeaux Challenger Ningboo Challenger Liuzhou Challenger Bangalore Challenger Nottingham Challenger Noumea Challenger Marburg Challenger Braunschweig Challenger St. Brieuc Challenger M15 Lons-le-Saunier Rennes Challenger Bercuit Challenger Lisbon Challenger Recanati Challenger Prostejov Challenger Prostejov Challenger Prague Challenger Portoroz Challenger Pozoblanco Challenger Sibiu Challenger St. Brieuc Challenger Bucharest Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Roanne Challenger Pau Challenger Bari Challenger Cherbourg Challenger Pau Challenger Phoenix Challenger Lugano Challenger Sanremo Challenger Heilbronn Challenger Surbiton Challenger Prague 3 Challenger Istanbul Challenger Orleans Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger M15 Monastir Pau Challenger Phoenix Challenger Szekesfehervar Challenger Madrid Challenger Rome Challenger Split Challenger Aix En Provence Challenger Canberra Challenger Oeiras 3 Challenger Porto Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Helsinki Challenger Danderyd Challenger Cherbourg Challenger Pau Challenger Mouilleron-Le-Captif Challenger Murcia Challenger Girona Challenger Barcelona Challenger Cherbourg Challenger Girona Challenger Oeiras 5 Challenger Segovia Challenger Poznan Challenger Royan Challenger Francavilla Challenger Iasi Challenger Tashkent Challenger Cassis Challenger Koblenz Challenger Orleans Challenger Grodzisk Mazowiecki Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Monastir Challenger Porto 2 Challenger Hersonissos 6 Challenger Cherbourg Challenger Rennes Challenger Sibiu Challenger Bordeaux Challenger Irving Challenger Loughborough Challenger Barcelona Challenger Bratislava Challenger St. Petersburg Open - St. Petersburg Pune Challenger AEGON Championships - London Open de Moselle - Metz Open Sud de France - Montpellier Sophia Antipolis Challenger Noumea Challenger Moselle Open - Metz Kazan Challenger Quimper Challenger Qatar ExxonMobil Open - Doha Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier St. Brieuc Challenger Todi Challenger Barcelona Open BancSabadell - Barcelona AEGON Championships - London AEGON International - Eastbourne Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Swiss Indoors Basel - Basel Portugal Open - Oeiras Mouilleron-Le-Captif Challenger Heineken Open - Auckland Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Erste Bank Open - Vienna Memphis Open - Memphis Delray Beach Open - Delray Beach Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Bet-at-home Open - Hamburg European Open - Antwerp Istanbul Challenger ASB Classic - Auckland Mallorca Challenger Moscow Challenger Noumea Challenger Cherbourg Challenger Izmir Challenger Millennium Estoril Open - Estoril Poznan Challenger Mons Challenger Happy Valley Challenger Hong Kong Challenger Nottingham Challenger Kolkata Challenger Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Geneva Challenger Kosice Challenger European Open - Antwerp Eckental Challenger Bratislava Challenger Ortisei Challenger Cherbourg Challeger Orleans Challenger Troyes Challenger Astana Open - Nur-Sultan Antalya Open - Antalya Mercedes Cup - Stuttgart St. Petersburg Open - St. Petersburg Tyumen Challenger Heilbronn Challenger Nordea Open - Bastad Batman Challenger St. Petersburg Open - St. Petersburg Porto Challenger Bergamo Challenger Quimper Challenger St. Brieuc Challenger Mersin Challenger If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Credit Agricole Suisse Open - Gstaad Liberec Challenger Kazan Challenger Open 13 - Marseille Bratislava Challenger Austrian Open - Kitzbuhel Moselle Open - Metz Credit Agricole Suisse Open - Gstaad Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg AEGON Championships - London Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha SkiStar Swedish Open - Bastad Moselle Open - Metz Open Sud de France - Montpellier Suisse Open - Gstaad Moselle Open - Metz Grand Prix Hassan II - Marrakech Open Parc - Lyon Swiss Open - Gstaad Moselle Open - Metz Delray Beach Open - Delray Beach Gazprom Hungarian Open - Budapest Open Parc - Lyon Noventi Open - Halle Abierto Mexicano de Tenis Mifel - Los Cabos Raanana Challenger Arad Challenger Generali Open - Kitzbuhel BCR Open Romania - Bucharest Kremlin Cup - Moscow Brasov Challenger Koblenz Challenger Poznan Challenger Adelaide International 1 - Adelaide Oberstaufen Challenger Tata Open Maharashtra - Pune Open 13 Provence - Marseille Abierto de Tenis Mifel - Los Cabos Barcelona Open BancSabadell - Barcelona Tata Open Maharashtra - Pune Millennium Estoril Open - Estoril BMW Open - Munich Stockholm Open - Stockholm Delray Beach Open - Delray Beach Kremlin Cup - Moscow Citi Open - Washington Kremlin Cup - Moscow Delray Beach Open - Delray Beach Open 13 - Marseille St. Brieuc Challenger Nottingham 3 Challenger Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle AEGON Championships - London Mouilleron-Le-Captif Challenger Quimper Challenger Grand Prix Hassan II - Casablanca Genova Challenger M25 Carnac Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Malaysian Open - Kuala Lumpur Bordeaux Challenger Open Sud de France - Montpellier Szczecin Challenger ATP Challenger Tour Finals Open 13 - Marseille Mons Challenger Grand Prix Hassan II - Casablanca Budapest Challenger Maui Challenger BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice Koblenz Challenger Oberstaufen Challenger Topshelf Open - 's-Hertogenbosch Jonkoping Challenger Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Aix En Provence Challenger Orleans Challenger Swiss Indoors Basel - Basel Citi Open - Washington San Diego Challenger BRD Nastase Tiriac Trophy - Bucharest Monza Challenger TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Antalya Cup - Antalya M25 Benicarlo Ostrava Challenger Winston-Salem Open - Winston-Salem Cherbourg Challenger Mouilleron-Le-Captif Challenger Kobe Challenger M15 Bressuire Valencia Open - Valencia M15+H Bagnoles de l'Orne Open Sud de France - Montpellier Mons Challenger Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Tyumen Challenger Barcelona Open BancSabadell - Barcelona Blois Challenger Guadalajara Challenger TEB BNP Paribas Istanbul Open - Istanbul Tunis Challenger Open Sud de France - Montpellier Hall of Fame Open - Newport Generali Open - Kitzbuhel San Marino Challenger Mallorca Challenger Villena Challenger Forli 2 Challenger Florence Challenger Memphis Open - Memphis Abierto Mexicano Telcel - Acapulco Shenzhen Challenger Eckental Challenger Bet-at-home Open - Hamburg Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Antalya Cup - Antalya Lille Challenger Konzum Croatia Open - Umag Hamburg European Open - Hamburg St. Petersburg Open - St. Petersburg Perugia Challenger Amersfoort Challenger Open Sud de France - Montpellier Cagliari Challenger Garanti Koza Sofia Open - Sofia New York Open - New York Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Chengdu Open - Chengdu China Open - Beijing Tata Open Maharashtra - Pune Oeiras 3 Challenger New York Open - New York Geneva Open - Geneva Canberra Challenger BB&T Atlanta Open - Atlanta Boss Open - Stuttgart Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Generali Open - Kitzbuhel bett1HULKS Indoors - Cologne Sofia Open - Sofia Pozoblanco Challenger Segovia Challenger Como Challenger Rennes Challenger Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Kremlin Cup - Moscow Lugano Challenger Singapore Tennis Open - Singapore Prague 2 Challenger Turin Challenger Troisdorf Challenger Perugia Challenger Blois Challenger Millennium Estoril Open - Estoril Davis Cup, Group II, PO, TUR-MDA 2-3 Mercedes Cup - Stuttgart bett1HULKS Championships - Cologne Noventi Open - Halle Perugia Challenger Orleans Challenger Prague 2 Challenger Milan Challenger Brasov Challenger Troyes Challenger Dallas Open - Dallas Delray Beach Open - Delray Beach Open 13 Provence - Marseille Gonet Geneva Open - Geneva Banja Luka Open - Banja Luka Terra Wortmann Open - Halle Bordeaux Challenger Korea Open - Seoul Roanne Challenger Hersonissos 5 Challenger Maia Challenger Bucharest Open - Bucharest Brest Challenger Lille Challenger Ilkley Challenger Porto 2 Challenger Roanne Challenger Bet-at-home Open - Hamburg Suisse Open - Gstaad Rakuten Japan Open - Tokyo Maharashtra Open - Pune Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Cordenons Challenger Generali Open - Kitzbuhel Nature Valley International - Eastbourne Murray River Open - Melbourne Belgrade 2 - Belgrade Ottignies-Louvain-la-Neuve Challenger Sophia Antipolis Challenger Quimper Challenger Cherbourg Challenger Lille Challenger BNP Paribas Masters - Paris Segovia Challenger Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Prague 1 Challenger Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Winston-Salem Open - Winston-Salem Indian Wells Challenger BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Koblenz Challenger Bratislava 1 Challenger Delray Beach Open - Delray Beach Tenerife 1 Challenger Apia International - Sydney Turin Challenger Dallas Open - Dallas BNP Paribas Open - Indian Wells Sony Open Tennis - Miami ABN AMRO World Tennis Tournament - Rotterdam Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Western & Southern Open - Cincinnati Wimbledon - London Shanghai Rolex Masters - Shanghai Miami Open - Miami Open Parc - Lyon U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Australian Open - Melbourne French Open - Paris Wimbledon - London Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Western & Southern Open - Cincinnati Western & Southern Open - New York French Open - Paris National Bank Open - Toronto Rolex Paris Masters - Paris Truist Atlanta Open - Atlanta Rakuten Japan Open - Tokyo Atlanta Open - Atlanta Mutua Madrid Open - Madrid Hangzhou Open - Hangzhou Dallas Open - Dallas Miami Open - Miami Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid AEGON Championships - London European Open - Antwerp Aircel Chennai Open - Chennai Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group II, 2R, MDA-BLR 4-1 Davis Cup, Group II, 3R, DEN-MDA 3-2 ATP Cup - Brisbane, Perth, Sydney U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open (juniors) French Open (juniors) Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris Olympics - Rio de Janeiro Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York French Open - Paris Internazionali BNL d'Italia - Rome Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne Wimbledon - London Infosys Hall of Fame Open - Newport Iasi Challenger M25 Hazebrouck Davis Cup, Group II, 1R, BLR-MDA 4-1 Davis Cup, Group 2, PO, HUN-MDA 3-2 Davis Cup, Group II, 1R, MDA-EGY 4-1 Davis Cup, Group II, 1R, MDA-HUN 3-2 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, HUN-MDA 4-1 Wimbledon (juniors) Hopman Cup - Perth St. Brieuc Challenger M25 Mataro All Lower level tournaments Oeiras 4 Challenger Hamburg Challenger Davis Cup, Group 2, 1R, LAT-MDA 5-0 M25 Toulouse-Balma M25 Villeneuve-Loubet